<?php

class Tablas_base_model extends CI_Model {
   
    function getAll($tabla) {
      $query = $this->db->get($tabla);
        
      if($query->num_rows() > 0) {
        return $query->result(); 
      }        
    }
    

    
    /**
     * Permite con la insercion de la tabla y las clausulas where, generar querys dinamicos de
     * selects.
     * 
     * @param string $tabla - Nombre de la Tabla en la Base de Datos 
     * @param array $where  - Arreglo con las Clausulas Where para el query
     * @return object  - Resultado del Query
     */
    function getWhere($tabla,$where) {
        
      foreach($where as $key => $value):
        
          if($value != NULL):
            $this->db->where($key,$value);
          endif;
          
      endforeach;

      $query = $this->db->get($tabla);
        
      if($query->num_rows() > 0):
       return $query->result();    
      endif;      
    }
    
    
    /**
     * Permite con la insercion de la tabla y las clausulas where, generar querys dinamicos de
     * selects.
     * 
     * @param string $tabla - Nombre de la Tabla en la Base de Datos 
     * @param array $where  - Arreglo con las Clausulas Where para el query
     * @return object  - 1 solo resultado
     */
    function getOneWhere($tabla,$where) {
        
      foreach($where as $key => $value):
        
          if($value != NULL):
            $this->db->where($key,$value);
          endif;
          
      endforeach;

      $query = $this->db->get($tabla);
        
      if($query->num_rows() > 0):
       return $query->row();    
      endif;      
    }
    
    function insertar($tabla,$datos) {
      $this->db->insert($tabla, $datos);       
    }
    
    function insertarPorLotes($tabla,$datos) {
      $this->db->insert_batch($tabla,$datos);    
    }
}
